package com.dragon.modules.yuegou.model.park;

import com.dragon.modules.yuegou.entity.park.CouponMemberRefEntity;
import com.dragon.modules.yuegou.enums.park.CouponMemberRefStatus;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * 停车券与会员关系表模型类
 * 
 * @author pbuilder generated
 * @date 2019-04-19 17:21:29
 * @company sgy
 * @version 2.0
 * @see Length 长度限制
 * @see NotNull 对象非空
 * @see NotEmpty 字符串、集合、表、数组非空
 */
public class CouponMemberRef extends CouponMemberRefEntity {

	private String parkId;

	@ApiModelProperty("车牌")
	private String plateNumber;

	@ApiModelProperty("商户")
	private String merchantName;

	@ApiModelProperty("抵扣金额")
	private BigDecimal couponDiscountFee;

	@ApiModelProperty("会员昵称")
	private String memberNickName;

	private String memberHeadImg;

	@ApiModelProperty("手机号")
	private String memberMobile;

	@ApiModelProperty("停车场")
	private String parkName;

	@ApiModelProperty("状态0-未使用-UNUSE、1-已使用-USE、2-已过期-EXPIRED")
	private String theStatus;

	private String maskNickName;

	public String getMaskNickName() {
		return maskNickName;
	}

	public void setMaskNickName(String maskNickName) {
		this.maskNickName = maskNickName;
	}

	public String getTheStatus() {
		return theStatus;
	}

	public void setTheStatus(String theStatus) {
		this.theStatus = theStatus;
	}

	public String getParkId() {
		return parkId;
	}

	public void setParkId(String parkId) {
		this.parkId = parkId;
	}

	public String getMemberNickName() {
		return memberNickName;
	}

	public void setMemberNickName(String memberNickName) {
		this.memberNickName = memberNickName;
	}

	public String getMemberMobile() {
		return memberMobile;
	}

	public void setMemberMobile(String memberMobile) {
		this.memberMobile = memberMobile;
	}

	public String getMemberHeadImg() {
		return memberHeadImg;
	}

	public void setMemberHeadImg(String memberHeadImg) {
		this.memberHeadImg = memberHeadImg;
	}

	public String getPlateNumber() {
		return plateNumber;
	}

	public void setPlateNumber(String plateNumber) {
		this.plateNumber = plateNumber;
	}

	public String getMerchantName() {
		return merchantName;
	}

	public void setMerchantName(String merchantName) {
		this.merchantName = merchantName;
	}

	public BigDecimal getCouponDiscountFee() {
		return couponDiscountFee;
	}

	public void setCouponDiscountFee(BigDecimal couponDiscountFee) {
		this.couponDiscountFee = couponDiscountFee;
	}

	public String getParkName() {
		return parkName;
	}

	public void setParkName(String parkName) {
		this.parkName = parkName;
	}

	/**
	 * 构造一个空停车券与会员关系表模型对象
	 */
	public CouponMemberRef() {
		super();
	}

	/**
	 * 依据实体对象的信息构造一个停车券与会员关系表模型对象
	 * 
	 * @param entity
	 *            实体对象
	 */
	public CouponMemberRef(CouponMemberRefEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它对象的信息构造一个停车券与会员关系表模型对象
	 * 
	 * @param other
	 *            其它对象
	 */
	public CouponMemberRef(CouponMemberRef other) {
		super(other);
	}

	@Override
	public String getId() {
		return id;
	}

	/**
	 * 设置主键
	 * 
	 * @param id
	 *            主键
	 * @return 当前对象
	 */
	public CouponMemberRef id(String id) {
		this.id = id;
		return this;
	}

	@Override
	public String getBusdId() {
		return busdId;
	}

	/**
	 * 设置商圈ID
	 * 
	 * @param busdId
	 *            商圈ID
	 * @return 当前对象
	 */
	public CouponMemberRef busdId(String busdId) {
		this.busdId = busdId;
		return this;
	}

	@Override
	public String getMemberId() {
		return memberId;
	}

	/**
	 * 设置会员ID
	 * 
	 * @param memberId
	 *            会员ID
	 * @return 当前对象
	 */
	public CouponMemberRef memberId(String memberId) {
		this.memberId = memberId;
		return this;
	}

	@Override
	public String getParkCouponMerchantId() {
		return parkCouponMerchantId;
	}

	/**
	 * 设置停车券与商户ID
	 * 
	 * @param parkCouponMerchantId
	 *            停车券与商户ID
	 * @return 当前对象
	 */
	public CouponMemberRef parkCouponMerchantId(String parkCouponMerchantId) {
		this.parkCouponMerchantId = parkCouponMerchantId;
		return this;
	}

	@Override
	public String getParkCouponGrantId() {
		return parkCouponGrantId;
	}

	/**
	 * 设置停车券发放ID
	 * 
	 * @param parkCouponGrantId
	 *            停车券发放ID
	 * @return 当前对象
	 */
	public CouponMemberRef parkCouponGrantId(String parkCouponGrantId) {
		this.parkCouponGrantId = parkCouponGrantId;
		return this;
	}

	@Override
	public String getCouponTemplate() {
		return couponTemplate;
	}

	/**
	 * 设置停车券ID
	 * 
	 * @param couponTemplate
	 *            停车券ID
	 * @return 当前对象
	 */
	public CouponMemberRef couponTemplate(String couponTemplate) {
		this.couponTemplate = couponTemplate;
		return this;
	}

	@Override
	public String getCouponTemplateName() {
		return couponTemplateName;
	}

	/**
	 * 设置停车券名称
	 * 
	 * @param couponTemplateName
	 *            停车券名称
	 * @return 当前对象
	 */
	public CouponMemberRef couponTemplateName(String couponTemplateName) {
		this.couponTemplateName = couponTemplateName;
		return this;
	}

	@Override
	public LocalDateTime getGetTime() {
		return getTime;
	}

	/**
	 * 设置获取时间
	 * 
	 * @param getTime
	 *            获取时间
	 * @return 当前对象
	 */
	public CouponMemberRef getTime(LocalDateTime getTime) {
		this.getTime = getTime;
		return this;
	}

	@Override
	public LocalDateTime getBeginTime() {
		return beginTime;
	}

	/**
	 * 设置有效开始时间
	 * 
	 * @param beginTime
	 *            有效开始时间
	 * @return 当前对象
	 */
	public CouponMemberRef beginTime(LocalDateTime beginTime) {
		this.beginTime = beginTime;
		return this;
	}

	@Override
	public LocalDateTime getExpireTime() {
		return expireTime;
	}

	/**
	 * 设置到期时间（有效结束时间）
	 * 
	 * @param expireTime
	 *            到期时间（有效结束时间）
	 * @return 当前对象
	 */
	public CouponMemberRef expireTime(LocalDateTime expireTime) {
		this.expireTime = expireTime;
		return this;
	}

	@Override
	public LocalDateTime getUseTime() {
		return useTime;
	}

	/**
	 * 设置使用时间
	 * 
	 * @param useTime
	 *            使用时间
	 * @return 当前对象
	 */
	public CouponMemberRef useTime(LocalDateTime useTime) {
		this.useTime = useTime;
		return this;
	}

	@Override
	public String getParkInfoId() {
		return parkInfoId;
	}

	/**
	 * 设置停车记录ID
	 * 
	 * @param parkInfoId
	 *            停车记录ID
	 * @return 当前对象
	 */
	public CouponMemberRef parkInfoId(String parkInfoId) {
		this.parkInfoId = parkInfoId;
		return this;
	}

	@Override
	public String getMerchantId() {
		return merchantId;
	}

	/**
	 * 设置商户ID
	 * 
	 * @param merchantId
	 *            商户ID
	 * @return 当前对象
	 */
	public CouponMemberRef merchantId(String merchantId) {
		this.merchantId = merchantId;
		return this;
	}

	@Override
	public String getGrantBy() {
		return grantBy;
	}

	/**
	 * 设置发放人
	 * 
	 * @param grantBy
	 *            发放人
	 * @return 当前对象
	 */
	public CouponMemberRef grantBy(String grantBy) {
		this.grantBy = grantBy;
		return this;
	}

	@Override
	public CouponMemberRefStatus getStatus() {
		return status;
	}

	/**
	 * 设置[枚举]状态：0-未使用-UNUSE、1-已使用-USE、2-已过期-EXPIRED
	 * 
	 * @param status
	 *            [枚举]状态：0-未使用-UNUSE、1-已使用-USE、2-已过期-EXPIRED
	 * @return 当前对象
	 */
	public CouponMemberRef status(CouponMemberRefStatus status) {
		this.status = status;
		return this;
	}
}
